#ifndef __1E6B6B18_8A3A_4895_83E3_28E20A66AC17__
#define __1E6B6B18_8A3A_4895_83E3_28E20A66AC17__

#include "../import/head.h"
#include "get_package.h"
#include "get_aio.h"
#include "get_common.h"
#include "get_core.h"
#include "get_curl.h"
#include "get_encrypt.h"
#include "get_http.h"
#include "get_json.h"
#include "get_log.h"
#include "get_sqlite.h"
#include "get_xml.h"

namespace xos_sgsj
{

    class os_init : public xos::i_acceptor
    {
    public:
        os_init();
        ~os_init();

    public:
        xos_encrypt::i_encrypt_mgr * m_pEncryptMgr;
        xos_package::i_package_mgr * m_pPackageMgr;
        xos_sqlite::i_sqlite_mgr * m_pSqliteMgr;
        xos_curl::i_curl_mgr * m_pCurlMgr;
        xos_http::i_http_mgr * m_pHttpMgr;
        xos_json::i_json_mgr * m_pJsonMgr;
        xos_common::i_common * m_pCommon;
        xos_xml::i_xml_mgr * m_pXmlMgr;
        xos_aio::i_aio_mgr * m_pAioMgr;
        xos_log::i_log * m_pLog;
        xos::i_xos * m_pXos;

        xos::i_callback * m_pMiscCallbackThread;
        xos_package::i_package * m_pPackage;
        xos_common::i_serial * m_pSerial;
        xos::i_heart * m_pHeart;
        xos_aio::i_aio * m_pAio;
        xos::i_misc * m_pMisc;
        xos::i_crt * m_pCrt;

        char m_szExePath[1024];

    protected:
        get_aio m_GetAio;
        get_common m_GetCommon;
        get_core m_GetCore;
        get_curl m_GetCurl;
        get_encrypt m_GetEncrypt;
        get_http m_GetHttp;
        get_json m_GetJson;
        get_log m_GetLog;
        get_sqlite m_GetSqlite;
		get_xml m_GetXml;
        get_package m_GetPackage;

    public:
        int heart_call();
        int init();
        int term();
    };
} // xos_sgsj

#endif // __1E6B6B18_8A3A_4895_83E3_28E20A66AC17__
